package com.paomi.client.activity.person.presenter;

import android.content.Context;

import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter;
import com.hannesdorfmann.mosby3.mvp.MvpView;
import com.paomi.client.R;
import com.paomi.client.activity.person.View.InvitationView;
import com.paomi.client.bean.OnlyIntBean;
import com.paomi.client.bean.OnlyStringBean;
import com.paomi.client.bean.UserUtils;
import com.paomi.client.net.Api;
import com.paomi.client.net.BaseCallback;
import com.paomi.client.net.Constants;
import com.paomi.client.widget.RxToast;

import java.util.HashMap;

import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.onekeyshare.OnekeyShare;
import cn.sharesdk.sina.weibo.SinaWeibo;
import retrofit2.Call;

public class InvitationPre extends MvpBasePresenter<InvitationView> {

    /**
     * 邀请好友-邀请码
     */
    public void getCode() {
        Api.getInstanceService(Constants.User_URL).getInvitateCode().enqueue(new BaseCallback<OnlyStringBean>() {
            @Override
            public void onResponse(Call<OnlyStringBean> call, OnlyStringBean result) {
                getView().showCode(result);
            }
        });
    }

    /**
     * 邀请好友-统计
     */
    public void getCount() {
        Api.getInstanceService(Constants.User_URL).getInvitateCount().enqueue(new BaseCallback<OnlyIntBean>() {
            @Override
            public void onResponse(Call<OnlyIntBean> call, OnlyIntBean result) {
                if(result!=null){
                    if(isViewAttached()){//防止view层传递到M层方法为空
                        getView().showNum(result);
                    }
                }
            }
        });
    }

    public void showShare(Context context,String platform, String inviteCode) {
        final OnekeyShare oks = new OnekeyShare();
        //指定分享的平台，如果为空，还是会调用九宫格的平台列表界面
        if (platform != null) {
            oks.setPlatform(platform);
        }
        //关闭sso授权
        oks.disableSSOWhenAuthorize();
        // title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
        oks.setTitle(UserUtils.getInstance().getUserInfo1().getUserName() + "邀请你加入");
        // titleUrl是标题的网络链接，仅在Linked-in,QQ和QQ空间使用
        oks.setTitleUrl("http://m.mydeershow.com/&#/main/activity/" + inviteCode + "?");
        // text是分享文本，所有平台都需要这个字段
        if (platform.equals(SinaWeibo.NAME)) {
            oks.setText("http://m.mydeershow.com/&#/main/activity/" + inviteCode + "?");
        } else {
            oks.setText("一起写下你们的故事");
        }
        //分享网络图片，新浪微博分享网络图片需要通过审核后申请高级写入接口，否则请注释掉测试新浪微博
        oks.setImageUrl("http://image.mydeershow.com/upload/image/20180817/1534481406852003503.jpg");
        // imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
        //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
        // url仅在微信（包括好友和朋友圈）中使用
        oks.setUrl("http://m.mydeershow.com/&#/main/activity/" + inviteCode + "?");
        // comment是我对这条分享的评论，仅在人人网和QQ空间使用
//        oks.setComment("我是测试评论文本");
        // site是分享此内容的网站名称，仅在QQ空间使用
        oks.setSite("独角秀");
        // siteUrl是分享此内容的网站地址，仅在QQ空间使用
        oks.setSiteUrl("http://m.mydeershow.com/&#/main/activity/" + inviteCode + "?");
        //分享成功回调
        oks.setCallback(new PlatformActionListener() {
            @Override
            public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {//分享成功

                if (UserUtils.getInstance().getUserInfo1()!=null) {
//                    ShareSuccess();
                    RxToast.info(context.getResources().getString(R.string.share_success));
                }
            }

            @Override
            public void onError(Platform platform, int i, Throwable throwable) {//分享失败
                RxToast.info(context.getResources().getString(R.string.share_failure));
            }

            @Override
            public void onCancel(Platform platform, int i) {//取消分享
                RxToast.info(context.getResources().getString(R.string.share_cancel));
            }
        });
        //启动分享
        oks.show(context);
    }
}